package com.jacob.cloud.mall.categoryproduct.service;

import com.github.pagehelper.PageInfo;
import com.jacob.cloud.mall.categoryproduct.model.pojo.Category;
import com.jacob.cloud.mall.categoryproduct.model.request.AddCategoryReq;
import com.jacob.cloud.mall.categoryproduct.model.request.UpdateCategoryReq;
import com.jacob.cloud.mall.categoryproduct.model.vo.CategoryVO;
import org.springframework.cache.annotation.Cacheable;

import java.util.List;

public interface ICategoryService {
    /**
     * 添加分类
     * @param addCategoryReq 新增分类请求数据
     */
    void add(AddCategoryReq addCategoryReq);

    /**
     * 修改分类
     * @param updateCategoryReq 修改分类请求数据
     */
    void update(UpdateCategoryReq updateCategoryReq);

    /**
     * 删除分类
     * @param categoryId 分类id
     */
    void delete(Integer  categoryId);

    /**
     * 分页查询分类列表
     * @param pageNum
     * @param pageSize
     */
    PageInfo<Category> listCategory(Integer pageNum, Integer pageSize);

    /**
     * 分类列表
     */
    List<CategoryVO> listCategoryForCustomer(Integer parentId);
}
